<?php
// +----------------------------------------------------------------------
// | astp [ WE ONLY DO WHAT IS NECESSARY ]
// +----------------------------------------------------------------------
// | Author 荒年 < 931274989@qq.com >
// +----------------------------------------------------------------------
// | Explain 发起HTTP/HTTPS请求
// +----------------------------------------------------------------------
namespace app\yunmeng\service;

class HttpRequest
{
  public function http_request($url,$ret='',$file='')
  {
    if(!empty($file)){
      $ret['media'] = new \CURLFile($file);
    }
    //CURL 初始化
    $ch = curl_init();
    //相关设置
    # 设置请求的url地址
    curl_setopt($ch,CURLOPT_URL,$url);
    # 请求头关闭
    curl_setopt($ch,CURLOPT_HEADER,0);
    # 请求得到的结果不直接输出，而是以字符串结果返回 必写
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
    # 设置请求的超时时间 单位秒
    curl_setopt($ch,CURLOPT_TIMEOUT,30);
    #设置浏览器型号
    curl_setopt($ch,CURLOPT_USERAGENT,'MSIE001');

    # 证书不检查
    curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,0);
    curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);

    # 设置为post请求
    if( $ret ){ #如果$ret不为假则是post提交
      # 开启post请求
      curl_setopt($ch,CURLOPT_POST,1);
      # post请求的数据
      curl_setopt($ch,CURLOPT_POSTFIELDS,$ret);
    }
    
    // 发起请求
    $data = curl_exec($ch);
    // 有没有发生异常
    if(curl_errno($ch) > 0){
      //把错误发送给客户端
      echo curl_error($ch);
      $data = '';
    }
    // 关闭请求
    curl_close($ch);
    return $data;
  }
}
?>